From 8efa8a067e53de929a9b42b0ab0ee2a09812d6d9 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Tue, 24 May 2011 21:33:14 -0400 Subject: [PATCH] entry: use GTK_STYLE_CLASS_IMAGE when rendering the entry icon --- gtk/gtkentry.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 59979bb808..6c863ec57b 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -3350,6 +3350,8 @@ draw_icon (GtkWidget *widget, width = gdk_window_get_width (icon_info->window); height = gdk_window_get_height (icon_info->window); + context = gtk_widget_get_style_context (widget); + /* size_allocate hasn't been called yet. These are the default values. */ if (width == 1 || height == 1) @@ -3387,7 +3389,6 @@ draw_icon (GtkWidget *widget, else if (icon_info->prelight) state |= GTK_STATE_FLAG_PRELIGHT; - context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); gtk_style_context_set_state (context, state); temp_pixbuf = gtk_render_icon_pixbuf (context, icon_source, (GtkIconSize)-1); @@ -6719,7 +6720,7 @@ create_normal_pixbuf (GtkStyleContext *context, gtk_style_context_save (context); /* Unset any state */ - gtk_style_context_set_state (context, 0); + gtk_style_context_set_state (context, GTK_STATE_FLAG_NORMAL); icon_set = gtk_style_context_lookup_icon_set (context, stock_id); pixbuf = gtk_icon_set_render_icon_pixbuf (icon_set, context, icon_size); @@ -6749,6 +6750,9 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, widget = GTK_WIDGET (entry); context = gtk_widget_get_style_context (widget); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE); + switch (icon_info->storage_type) { case GTK_IMAGE_EMPTY: @@ -6832,7 +6836,9 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, g_assert_not_reached (); break; } - + + gtk_style_context_restore (context); + if (icon_info->pixbuf != NULL && icon_info->window != NULL) gdk_window_show_unraised (icon_info->window); } -- 2.30.2